package com.kenliang.algorithm.sort;

/**
 * @author KenLiang
 * @description:冒泡排序,时间复杂度O(N**2)空间复杂度O(1),相等不交换即可有稳定性
 * @date Created in 14:53 2021/1/2.
 */
public class BubblingSort implements ISort{

    @Override
    public int[] sort(int[] in){
        //循环一次冒泡出一个最大数字
        for(int i=in.length;i>0;i--){
            //循环一次比对一次最近两个的大小，并把大的换到后面
            for(int j=0;j<i-1;j++){
                if(in[j]>in[j+1]){
                    this.swap(in,j,j+1);
                }
            }
        }
        return in;
    }

    public static void main(String[] args) {
        BubblingSort bubblingSort = new BubblingSort();
        int[] out = bubblingSort.sort(new int[]{1,3,4,5,45,3,34});
        for(int i:out){
            System.out.println(i);
        }
    }



}
